Dynamic control of audio resources in a device with multiple displays

ABSTRACT

Methods and devices for dynamically selecting an audio resource may include receiving a request to use at least one microphone on the computer device. The methods and devices may include determining, by the operating system, a dynamic orientation of a first device portion and a second device portion of the computer device based on sensor information. The methods and devices may include selecting at least one microphone for use based on the physical location information of the at least one microphone and the dynamic orientation of the first device portion and the second device portion, wherein the physical location information corresponds to a static orientation of the at least one microphone on the computer device.

RELATED CASES

This application is a continuation of U.S. patent application Ser. No.15/639,584 titled “Dynamic Control of Camera Resources in a Device withMultiple Displays,” filed Jun. 30, 2017, which is incorporated herein byreference in its entirety.

BACKGROUND

The present disclosure relates to a computer device, and moreparticularly, to image and video capture using a computer device.

A computer device may include multiple cameras for taking photographsand/or obtaining video. The physical location of a camera on thecomputer device is generally static, and each camera may have anorientation that is defined relative to a side of the device. Forinstance, a front-facing camera mounted on a front side (e.g., a sidefacing the user) of the device is generally used to obtain images of theenvironment toward the front side of the device, and a rear-facingcamera mounted on a rear side of the device is generally used to obtainimages of the environment toward the rear side of the device. Dependingon how or if a display is being used by a user, however, a cameraorientation relative to the device may change. For example, a cameraorientation may change from being a front-facing to being rear-facingdepending on how the user is holding the device and/or depending on theorientation of one or more displays. As such, a camera may have multipleorientations relative to the device and/or a user.

Thus, there is a need in the art for improvements in image and videocapture on a computer device.

SUMMARY

The following presents a simplified summary of one or moreimplementations of the present disclosure in order to provide a basicunderstanding of such implementations. This summary is not an extensiveoverview of all contemplated implementations, and is intended to neitheridentify key or critical elements of all implementations nor delineatethe scope of any or all implementations. Its sole purpose is to presentsome concepts of one or more implementations of the present disclosurein a simplified form as a prelude to the more detailed description thatis presented later.

One example implementation relates to a computer device. The computerdevice may include a first device portion, a second device portion, amemory to store data and instructions, a processor in communication withthe memory, an operating system in communication with the memory andprocessor. The operating system may be operable to receive a request touse at least one microphone on the computer device, receive a dynamicorientation of the first device portion and the second device portionbased on sensor information, and select at least one microphone for usebased on the physical location information of the at least onemicrophone and the dynamic orientation of the first device portion andthe second device portion, wherein the physical location informationcorresponds to a static orientation of the at least one microphone onthe computer device.

Another example implementation relates to a method for dynamicallyselecting an audio resource. The method may include receiving, by anoperating system on a computer device, a request to use at least onemicrophone on the computer device. The method may include determining,by the operating system, a dynamic orientation of a first device portionand a second device portion of the computer device based on sensorinformation. The method may include selecting at least one microphonefor use based on the physical location information of the at least onemicrophone and the dynamic orientation of the first device portion andthe second device portion, wherein the physical location informationcorresponds to a static orientation of the at least one microphone onthe computer device.

Another example implementation relates to computer-readable mediumstoring instructions executable by a computer device. Thecomputer-readable medium may include at least one instruction forcausing the computer device to receive a request to use at least onemicrophone on the computer device. The computer-readable medium mayinclude at least one instruction for causing the computer device todetermine a dynamic orientation of a first device portion and a seconddevice portion of the computer device based on sensor information. Thecomputer-readable medium may include at least one instruction forcausing the computer device to select at least one microphone for usebased on the physical location information of the at least onemicrophone and the dynamic orientation of the first device portion andthe second device portion, wherein the physical location informationcorresponds to a static orientation of the at least one microphone onthe computer device.

Additional advantages and novel features relating to implementations ofthe present disclosure will be set forth in part in the description thatfollows, and in part will become more apparent to those skilled in theart upon examination of the following or upon learning by practicethereof.

DESCRIPTION OF THE FIGURES

In the drawings:

FIGS. 1A and 1B are a schematic block diagrams of an example computerdevice in accordance with an implementation of the present disclosure;

FIGS. 2A and 2B are front and rear views, respectively, of a traditionalform factor device with a front facing camera and a rear facing camerain accordance with an implementation of the present disclosure;

FIG. 3 is a schematic diagram of an example of a preview image and acaptured image of an object when using a traditional form factor devicein accordance with an implementation of the present disclosure;

FIGS. 4A and 4B are front and rear plan views, respectively, of anexample device with multiple displays with front facing cameras and rearfacing cameras in accordance with an implementation of the presentdisclosure;

FIGS. 5A-5C are plan views of different positions of a device withmultiple displays in accordance with an implementation of the presentdisclosure;

FIG. 6 is a schematic block diagram of an example computer device withmultiple displays, and optionally, multiple microphones and speakers, inaccordance with an implementation of the present disclosure;

FIG. 7 is an example method flow for image capture and/or audio capturein accordance with an implementation of the present disclosure;

FIG. 8 is a schematic diagram of an example preview image and a capturedimage using a device with multiple displays in accordance with animplementation of the present disclosure;

FIG. 9 is a schematic diagram of example of a preview image and acaptured image using a device with multiple displays in accordance withan implementation of the present disclosure;

FIG. 10 is a flowchart of an example method for dynamically controllingmirroring of a preview image in accordance with an implementation of thepresent disclosure;

FIG. 11 is a flowchart of an example method for dynamically controllingmirroring of a preview image in accordance with an implementation of thepresent disclosure;

FIG. 12 is a flowchart of an example method for dynamically selecting anaudio resource in accordance with an implementation of the presentdisclosure; and

FIG. 13 is a schematic block diagram of an example device in accordancewith an implementation of the present disclosure.

DETAILED DESCRIPTION

Referring to FIGS. 1A and 1B, this disclosure relates to devices andmethods of dynamically controlling mirroring of a preview image whenusing a computer device 102 having multiple displays. Devices withmultiple displays may include any computing device with at least a firstdisplay 14 on a first device portion 26 that is rotatably connected to asecond device portion 28 having at least a second display 16. Inaddition, devices with multiple displays may include any computingdevice with a display on two different sides of a device (e.g., a firstdisplay 14 on a first device portion 26 and another display on a rearsurface of the first device portion 26). A configuration and/or relativeposition 29 of the first and second device portions 26, 28, and hence anorientation of the corresponding displays 14, 16 relative to the deviceand/or a user, may change based on relative rotation of the first andsecond device portions 26, 28. Further, at least one of the first andsecond device portions 26, 28 may also include one or more cameraresources 13, 15, 21, and 27, where each camera resource 13, 15, 21, and27 may be associated with a camera role, e.g., a forward camera facingrole or a rear facing camera role, depending on a static orientation ofthe camera resource, e.g., a physical location information 30 of thecamera resources 13, 15, 21, and 27 on the computer device 102. Inaddition, at least one of the first and second device portions 26 and 28may also include one or more camera resources 23 (FIG. 4B), 31 (FIG.4B), 33 (FIG. 4B), and 37 (FIG. 4B), which may be associated with acamera role, on the rear portion of the first and second device portions26 and 28. A forward facing camera role is associated with a forwardfacing camera resource, e.g., facing toward a front side of the device,which is also generally associated with facing a user of the device. Theforward facing camera role is also associated with presenting a mirroredpreview image 17 on a corresponding one of the displays 14, 16. Forexample, when using a forward facing camera, a user sees a mirroredpreview image 17 of the scene toward the front side of the device, suchas when a user previews a selfie picture. In contrast, the rear facingcamera role is associated with a rear facing camera, and also withpresenting a non-mirrored preview image 19. In other words, thenon-mirrored preview image 19 is an image that matches a view of a sceneas observed by a user of the device. When a respective camera resource20 is selected for use to capture an image and/or video, for example,camera resource 21, a dynamic orientation 34 of the selected cameraresource 20 may change based on the configuration and/or relativeposition of the first and second device portions 26, 28, or of thedisplay panels. When the dynamic orientation 34 of the selected cameraresource is different from the static orientation of the cameraresource, the devices and methods described herein may change the camerarole of the selected camera resource 20. An image preview component 36may receive the camera role of the selected camera resource 20 and mayupdate the preview image 18 based on the received camera role. Thus, thedevices and methods may dynamically update and present the preview image18, either as a mirrored preview image 17 or a non-mirrored previewimage 19, in response to changes in the dynamic orientation 34 of theselected camera resource 20.

Devices with multiple displays may also include one or more microphones41, 43, 45, and 47 and/or speakers 49, 51, 53, and 55 on each deviceportion 26, 28. The devices and methods may dynamically select one ormore microphones 41, 43, 45, and 47 and/or speakers 49, 51, 53, and 55to use based on, for example, an orientation of the corresponding deviceportions 26, 28. For example, the device portions 26, 28 may be openedflat with the first display 14 and/or the second display 16 facing thesame direction, and hence the microphones 41, 43, 45, and 47 andspeakers 49, 51, 53, and 55 are facing in the same direction and one orall may be selected for use. In another example, if the computer device102 is closed or partially closed with first display 14 and/or thesecond display 16 (and the corresponding microphones and speakers)facing in different directions, then the specific microphones and/orspeakers associated with a given one of the portions may be selected foruse depending on the direction they are facing. As such, as theorientation of the devices portions 26, 28 changes, the devices andmethods may dynamically change the selected microphones and/or speakersto use.

In addition, the devices and methods may dynamically select one or moremicrophones 41, 43, 45, and 47 and/or speakers 49, 51, 53, and 55 basedon the application 10 (FIG. 6) executing on the computer device 102.When different applications 10 request to use a microphone 41, 43, 45,and 47 and/or speaker 49, 51, 53, and 55, the devices and methods maychange the selected microphones and/or speakers based on the applicationin use.

On a traditional form factor device, such as a tablet, laptop, or mobilephone, there may be multiple cameras on the device. For example,referring now to FIGS. 2A and 2B, a traditional form factor device 202may include a front facing camera 204 and a rear facing camera 208. Thefront facing camera 204 may be physically located on a side of device202 that includes the screen/display 206, and generally faces the userin most situations. When a user is using the front-facing camera 204,such as when taking a selfie photograph, the preview frames displayingon display 206 are generally mirrored, as illustrated in FIG. 3.

Referring now to FIG. 3, for example, when device 202 uses front facingcamera 204 to capture an object 302, display 206 may mirror the previewimage 304 of the object 302. As illustrated in the example, the word“FACE” of object 302 may be mirrored in the preview image 304. Mirroringthe preview image may be helpful to the user because the preview mayhelp frame the image (e.g., by making sure everyone is included in theframe). Generally, the captured image 306 (illustrated as beingdisplayed by display 206) may not be mirrored. Some camera applicationsmay allow a user to pre-select to save a mirrored or non-mirrored imagetaken from the camera.

Referring back to FIGS. 2A and 2B, a camera application generallyobtains a physical location of a camera on device 202 to determinewhether the camera may be a front-facing camera 204 or a rear facingcamera 208. The physical location of a camera is generally static. Forexample, a front facing camera 204 on a front face of device 202 isgenerally referred to and utilized as a front-facing camera (FFC), and arear facing camera 208 on a rear surface of device 202 is generallyreferred to and utilized as a rear-facing camera (RFC).

Referring now to FIGS. 4A, 4B, and 5A to 5C, a computer device 102 withmultiple displays may include one or more front facing cameras 15, 21 ona first device portion 26 and one or more front facing cameras 13 and 27on the second device portion 28. In addition, computer device 102 mayinclude one or more rear facing cameras 37 and 31 on a second deviceportion 28 and one or more rear facing cameras 23 and 33 on a firstdevice portion 26. In addition, computer device 102 may include a firstdisplay 14 and a second display 16 with a rotatable connector 24, suchas but not limited to a hinge, movably connecting the first deviceportion 26 and the second device portion 28. For example, rotatableconnector 24 allows each or both of first device portion 26 and seconddevice portion 28 to rotate relative to the other about axis 401. Assuch, computer device 102 may be oriented with first device portion 26and second device portion 28 in one of a plurality of positions orconfigurations. For instance, in FIG. 4A, a user may open computerdevice 102 such that the first display 14 and the second display 16 arelying flat, e.g., in substantially a same plane, where the front facingcamera 21 is facing the user. Further, for instance in FIG. 5A, a usermay also move the first display 14 in direction 402 and/or the seconddisplay 16 in direction 404 so that the first display 14 and the seconddisplay 16 move away from each other and are back-to-back.

FIG. 5B illustrates the first display 14 and the second display 16folded completely back-to-back with the first display 14 and the seconddisplay 16 facing externally. When the first display 14 and the seconddisplay 16 start to move, the front facing cameras 15 and 21 may becomeoriented as a rear-facing cameras and the front facing cameras 13 and 27may remain oriented as front facing cameras based on the position of thefirst display 14 and/or the second display 16, as illustrated in FIG.5C. In FIG. 5C, the second display 16 may face the user while the firstdisplay 14 and the front facing cameras 15 and 21 are now facing therear of computer device 102. For example, when the front facing cameras15 and 21 change to a rear facing camera orientation, according to thisdisclosure, the preview image may no longer be mirrored when displayingon second display 16. In an implementation, the preview image may besimultaneously displayed on both the first display 14 and the seconddisplay 16 so that the preview image may no longer be mirrored on thesecond display 16, but may be mirrored on the first display 14. As such,the front facing cameras 15 and 21 may have a dual role depending on agiven one of the plurality of positions or configurations of the device,including the actual orientation or location of the front facing cameras15 and 21, and thus, the preview image may change as the role of thefront facing camera changes. For example, the front facing camera mayhave a forward facing camera role, e.g., facing toward a front side ofthe device, which may also generally be associated with facing a user ofthe device. The forward facing camera role may also be associated withpresenting a mirrored preview image on a corresponding one of thedisplays 14, 16. In addition, the front facing camera may also have arear facing camera role that may be associated with presenting anon-mirrored preview image.

Referring now to FIG. 6, an example computer device 102 with multipledisplays for use in capturing images may include a plurality ofapplications 10 up to m applications 10 (where m is a positive number),that may be executed or processed by processor 57 and/or memory 59. Theone or more applications 10 may want to use one or more camera resources20 on computer device 102 to capture a scene and/or video, previewimages, and/or perform video processing. For example, application 10 maybe a video call application, such as but not limited to a SKYPE™application, and may want to use a camera resource 20 to capture imagesfor a video call, while another application 10 may be a photoapplication and may want to use a camera resource 20 to capture an imagefor a photograph.

Computer device 102 may include a plurality of displays, such as a firstdisplay 14, a second display 16, and up to n displays (where n is apositive number), that may be executed by processor 57 to present one ormore captured images or videos and/or preview images 18. For example,computer device 102 may include at least a first display 14 on a firstdevice portion 26 that is rotatably connected to a second device portion28 having at least a second display 16. In addition, computer device 102may have one or more rotatable connectors 24, e.g., up to p connectors24 (where p is a positive number), between the plurality of displays.For example, computer device 102 may have rotatable connector 24 betweenthe first display 14 and the second display 16. Rotatable connector 24may be a flexible and/or rotatable hinge that allows the plurality ofdisplays to move different directions, e.g., to rotate relative to oneanother. A configuration and/or relative position 29 (FIG. 1) of thefirst and second device portions 26, 28, and hence an orientation of thecorresponding display panels relative to the device and/or a user, maychange based on relative rotation of the first and second deviceportions 26, 28.

Computer device 102 may also include a plurality of camera resources 20,such as one or more front facing camera resources and/or one or morerear facing camera resources that may be used to capture a scene and/orperform video processing. For example, at least one of the first andsecond device portions 26, 28 may also include one or more respectivecamera resources 20 (e.g., one or more front facing camera resourcesand/or one or more rear facing camera resources), where each cameraresource 20 may be associated with a camera role, e.g., a forward facingcamera role 38 or a rear facing camera role 39, depending on a staticorientation of the camera resource, e.g., a physical locationinformation 30 of the camera resource 20 on the computer device 102. Assuch, the first and second device portions 26, 28 may each include oneor more front facing camera resources and/or one or more rear facingcamera resources. An example of such plurality of camera resources 20may include camera resources 13, 15, 21, and 27, as described above withreference to FIG. 1.

Computer device 102 may also include a plurality of microphones 22 thatmay be used to record audio information corresponding to when the imageand/or video is captured. The microphones 22 may have a physicallocation on computer device 102. In an implementation, the physicallocation of the microphones 22 may correspond to a static orientation ofthe one or more microphones on the computer device 102. For example, thephysical location may indicate that the microphone 22 is on the front ofthe computer device 102, the rear of the computer device 102, and/or ona certain area of such locations (e.g., top (left/center/right) frontfacing speaker, bottom (left/center/right) front facing speaker, andsimilar terms for similar rear facing speakers). An example of suchplurality of microphones 22 may include microphones 41, 43, 45, and 47,as described above with reference to FIG. 1.

Computer device 102 may also include a plurality of speakers 11 that maybe used to play and/or output audio. The speakers 11 may have a physicallocation on computer device 102 that may correspond to a staticorientation of the one or more speakers 11 on the computer device 102.As such, the physical location may indicate that the speaker is on thefirst device portion 26, the second device portion 28, the front of thecomputer device 102, the rear of the computer device 102, and/or on acertain area of such locations (e.g., top (left/center/right) frontfacing speaker, bottom (left/center/right) front facing speaker, andsimilar terms for similar rear facing speakers). An example of suchplurality of speakers 11 may include speakers 49, 51, 53, and 55, asdescribed above with reference to FIG. 1.

In addition, computer device 102 may include a plurality of sensors 25up to r sensors 25 (where r is a positive number), that may be used todetermine a position and/or orientation of the first device portion 26,the second device portion 28, the first display 14, the second display16, and/or camera resources 20. Sensors 25 may include, but are notlimited to, a hinge sensor, an accelerometer, a gyroscope, and amagnetometer. Sensors 25 may identify various movement and/or positionsof the connectors 24 to determine a relative position of the deviceportions (e.g., a measure of how the first device portion 26 and/or thesecond device portion 28 are angularly position) and/or a generalorientation of the first display 14 and/or the second display 16 (e.g.,which direction the displays are facing).

Computer device 102 may also include an operating system 110 executed byprocessor 57 and/or memory 59 of computer device 102. Memory 59 ofcomputer device 102 may be configured for storing data and/orcomputer-executable instructions defining and/or associated withoperating system 110, and processor 57 may execute operating system 110.An example of memory 59 can include, but is not limited to, a type ofmemory usable by a computer, such as random access memory (RAM), readonly memory (ROM), tapes, magnetic discs, optical discs, volatilememory, non-volatile memory, and any combination thereof. An example ofprocessor 57 can include, but is not limited to, any processor speciallyprogrammed as described herein, including a controller, microcontroller,application specific integrated circuit (ASIC), field programmable gatearray (FPGA), system on chip (SoC), or other programmable logic or statemachine.

Computer device 102 may include any mobile or fixed computer device,which may be connectable to a network. Computer device 102 may be, forexample, a computer device such as a desktop or laptop or tabletcomputer, a cellular telephone, a gaming device, a mixed reality orvirtual reality device, a music device, a television, a navigationsystem, a camera, a personal digital assistant (PDA), or a handhelddevice, or any other computer device having wired and/or wirelessconnection capability with one or more other devices and/orcommunication networks.

Application 10 may receive a selection for a camera resource 20 to useto capture an image and/or video. The selected camera resource 20 may beautomatically selected by application 10, for example, based on thecamera resource used most recently by the computer device 102. Inaddition, the selected camera resource 20 may be selected by a user. Theselected camera resource 20 may be, for example, a front facing cameraresource and/or a rear facing camera resource. The selected cameraresource 20 may have an associated selected camera resourceidentification (ID) 12 that identifies the selected camera resource 20.

The selected camera resource ID 12 may be associated with physicallocation information 30 of the selected camera resource 20. The physicallocation information 30 may correspond to a static orientation 32 of theselected camera resource 20 on computer device 102 (e.g., on a side ofthe computer device 102 that includes first display 14 and seconddisplay 16 or on a rear surface of the computer device 102). A datarepository associated with computer device 102 may contain the physicallocation information 30 of the camera resources 20 on computer device102.

In addition, the selected camera resource 20 may be associated with adynamic orientation 34. A dynamic orientation 34 of the selected cameraresource 20 may change based on the configuration and/or relativeposition of the first and second device portions 26, 28, or of the firstdisplay 14 and/or the second display 16. A dynamic orientation 34 of theselected camera resource 20 may be determined by a dynamic orientationdeterminer component 46.

The dynamic orientation determiner component 46 may receive sensorinformation 40 from one or more sensors 25 on computer device 102.Sensor information 40 may include a connector status 42 indicating arelative angular distance between the first display 14 and the seconddisplay 16.

Sensor information 40 may also include a sensor orientation 44 thatindicates an orientation of the one or more displays. For example, thesensor orientation 44 may indicate a general orientation of the firstdisplay 14 and/or the second display 16. A general orientation of thefirst display 14 and the second display 16 may indicate which directionthe first display 14 and/or the second display 16 are facing (e.g.,towards a user and/or away from a user).

The sensor orientation 44 may also indicate a relative position of thefirst display 14 and/or the second display 16. For example, the sensororientation may indicate a measure of how the first display 14 and/orthe second display 16 are relatively angularly positioned. As such, thesensor orientation 44 may be used to indicate whether the computerdevice 102 is opened flat with the first display 14 and/or the seconddisplay 16 facing the same direction, and hence the camera resources 20facing in the same direction), or if the computer device 102 is closedor partially closed with first display 14 and/or the second display 16and the corresponding camera resources 20 facing in differentdirections.

As such, when a user moves first display 14 and/or second display 16,the sensor information 40 may be updated and the dynamic orientationdeterminer component 46 may update the dynamic orientation 34 of theselected camera resources 20.

Dynamic orientation determiner component 46 may apply one or more rulesto determine when the dynamic orientation 34 of a selected cameraresource 20 may be front facing and/or a rear facing. The dynamicorientation determiner component 46 may include a connector threshold 48that may be used in determining when to update the dynamic orientation34 of the selected camera resource 20. For example, when the sensorinformation 40 indicates that the connector 24 exceeds a connectorthreshold 48, the dynamic orientation 34 may be rear facing. Anotherexample may include when the sensor information 40 indicates that sensororientation 44 of the first display 14 is facing away from a user, thedynamic orientation 34 of the selected camera resource 20 may be rearfacing.

The static orientation 32 and the dynamic orientation 34 of the selectedcamera resource 20 may be transmitted to the camera role determinercomponent 35. The camera role determiner component 35 may determine acamera role for the selected camera resource 20. A camera role mayinclude a forward facing camera role 38 and/or a rear facing camera role39. For example, a forward facing camera role 38 may be associated witha forward facing camera resource, e.g., facing toward a front side ofthe computer device 102, which is also generally associated with facinga user of the computer device 102. The forward facing camera role 38 mayalso be associated with presenting a mirrored preview image 17 on acorresponding one of the displays 14, 16. For example, when using aforward facing camera, a user sees a mirrored preview image 17 of thescene toward the front side of the device, such as when a user previewsa selfie picture. In contrast, the rear facing camera role 39 may beassociated with a rear facing camera, and also with presenting anon-mirrored preview image 19. In other words, the non-mirrored previewimage 19 is an image that matches a view of a scene as observed by auser of the device.

When the dynamic orientation 34 of the selected camera resource 20 isdifferent from the static orientation 32 of the selected camera resource20, the camera role of the selected camera resource 20 may change. Forexample, the camera role may change from a forward facing camera role 38to a rear facing camera role 39 or from a rear facing camera role 39 toa forward facing camera role 38 based on a current orientation (e.g.,dynamic orientation 34) of the selected camera resource 20.

An image preview component 36 may receive the camera role of theselected camera resource 20 and may determine whether the preview image18 should be a mirrored preview image 17 and/or a non-mirrored previewimage 19 based on the received camera role. For example, when thereceived camera role is a forward facing camera role 38, the imagepreview component 36 may determine that the preview image 18 should be amirrored preview image 17. When the received camera role is a rearfacing camera role 39, the image preview component 36 may determine thatthe preview image 18 should be a non-mirrored preview image 19.

The image preview component 36 may transmit the preview image 18 todisplay component 56 for presentation on a first display 14 and/or asecond display 16. For example, the image preview component 36 mayforward the mirrored preview image 17 to a display component 56 todisplay the mirrored preview image 17 when using a forward facingcamera. As such, a user may see a mirrored preview image 17 of the scenetoward the front side of the device, such as when a user previews aselfie picture.

When the received camera role is a rear facing camera role 39, the imagepreview component 36 may determine that the preview image 18 should be anon-mirrored preview image 19. The image preview component 36 maytransmit the non-mirrored preview image 19 to a display component 56 todisplay the non-mirrored preview image 19 on the first display 14 and/orthe second display 16. In other words, the non-mirrored preview image 19is an image that matches a view of a scene as observed by a user of thedevice.

As such, image preview component 36 may dynamically update and presentthe preview image 18, either as a mirrored preview image 17 or anon-mirrored preview image 19, in response to changes in the dynamicorientation 34 of the selected camera resource 20.

Computer device 102 may also include an image capture component 52 tocapture an image 62 (FIG. 7) and/or video. The captured image 64 and/orvideo may be transmitted to display component 56 for presentation on thefirst display 14 and/or the second display 16.

Computer device 102 may also have an audio selection component 54 thatmay select one or more microphones 22 and/or speakers 11 for use withimage and/or video capture. For example, a front facing microphone maybe used when a video is being captured to record sound for the video. Inaddition, audio selection component 54 may select one or moremicrophones 22 and/or speakers 11 for use with an application 10. Forexample, during a Skype call when two users are using device 102 toparticipate in the call, with one user facing the first display 14 andthe other user facing the second display 16, audio selection component54 may select both a microphone 22 and a speaker 11 on the first deviceportion 26 and a microphone 22 and a speaker 11 on the second deviceportion 28 to use for the Skype call. The captured audio 74 (FIG. 7)from the one or more selected microphones 22 may be stored in synch withthe captured image 64 (FIG. 7) for use by an application 10.

When an image and/or video is captured using the selected cameraresource 20, the first display 14 and/or the second display 16 may beused to present the captured image to a user. Generally, the capturedimage may not be mirrored when presented to the user and/or saved.However, application 10 may allow a user to preselect whether thecaptured image may be displayed as a mirrored image and/or be saved as amirrored image.

As such, as the selected camera resource 20 role changes (e.g., from arear facing camera resource to a front facing camera resource) based onchanges in position and/or orientation of the selected camera resource20, the image preview component 36 may dynamically update the previewimage 18 to a mirrored preview image 17 and a non-mirrored preview imagebased upon the changing roles of the selected camera resource 20.

Referring now to FIG. 7, illustrated is an example method 700 that maybe used by computer device 102 (FIG. 6) for image capture and/or audiocapture. An image capture component 52 may receive user input 60 tocapture an image 62 and/or video of a scene or object. For example, auser may touch computer device 102 (e.g., by pressing a button and/or anicon or touching the screen) to indicate that the image capturecomponent 52 should capture the image 62 or start recording the video.The image capture component 52 may use the selected camera resource 20(FIG. 6) to capture the image 62 and/or video in response to the userinput.

The captured image 64 may be transmitted to memory 59 for storage. Inaddition, the captured image 64 may be transmitted to display component56. Display component 56 may present the captured image 64 on one ormore of a first display 14 (FIG. 6) and/or a second display 16 (FIG. 6).

In an implementation, one or more microphones 22 (FIG. 6) and/orspeakers 11 (FIG. 6) may be selected for use with the image captureand/or video processing and output of computer device 102. An audioselection component 54 may select one or more microphones 22 and/or oneor more speakers 11 based on one or more of a dynamic orientation 34 ofthe selected camera resource 20, a selected camera resource ID 12,physical location information 30 for the selected camera resource 20, amicrophone ID 66, a microphone physical location 68, a speaker ID 67and/or a speaker physical location 69. For example, audio selectioncomponent 54 may compare the dynamic orientation 34 of the selectedcamera resource 20 with the static orientation of the microphones (e.g.,the microphone physical location 68) and select the one or moremicrophones 70 based on the comparison.

One example use case may include a user taking a selfie video. Audioselection component 54 may compare the dynamic orientation 34 of theselected camera resource 20 with the static orientation of themicrophones (e.g., the microphone physical location 68) and may selectone or more microphones on the device portion facing the user. Forexample, if the first device portion 26 is facing the user, audioselection component 54 may select microphones 41 and/or 43 for use byaudio capture component 72 and to store the audio in synch with thecaptured video in memory 59.

The selected microphones 22 and/or speakers 11 may change as the imagecapture and/or image processing changes. In addition, the selectedmicrophones 22 and/or speakers 11 may change as the orientation of thefirst device portion 26 and/or the second device portion 28 changes. Forexample, if a user is taking a video, audio selection component 54 mayselect the microphone 22 on the first device portion 26 or second deviceportion 28 facing the subject of the video. In addition, if a user isparticipating in a Skype call, audio selection component 54 may select aplurality of microphones 22 and/or speakers 11 to use with the call.

An audio capture component 72 may receive an identification of the oneor more selected microphones 70 to use with the image and/or videocapture. Audio capture component 72 may record the audio informationfrom using the selected microphones 70 corresponding to when the imageand/or video is captured. Audio capture component 72 may transmit thecaptured audio 74 to memory 59 for storage.

An audio output component 75 may receive an identification of the one ormore selected speakers 71 and may use the one or more selected speakers71 to transmit the audio corresponding to a received video. In addition,audio output component 75 may use the one or more selected speakers 71to transmit audio corresponding to a use by an application 10. Forexample, a user may want to play a video that was captured by a cameraresource 20 on computer device 102 using the first display 14. As such,audio selection component 54 may select speakers 49 and/or 51 on firstdevice portion 26 to play the audio stored in synch with the capturedvideo. Audio output component 75 may receive the selected speakers 71(e.g., speakers 49 and/or 51) and may transmit the stored audiocorresponding to the video using speakers 49 and/or 51.

Another example, may include a user using the computer device 102 tomake a call. Audio selection component 54 may select speakers 53 and/or55 on the second device portion 28 to participate in the call. Audiooutput component 75 may receive the selected speakers 71 (e.g., speakers53 and/or 55) and may use speakers 53 and/or 55 to output the audio forthe call.

Referring now to FIG. 8, illustrated is an example preview image and acaptured image using computer device 102. For example, a user may beusing a front facing camera resource 20 to capture an object 802.Computer device 102 may have a first display 14 that presents a mirroredpreview image 804 of the object 802. Because the computer device 102 isusing the front facing camera resource 20 to capture the object 802,image preview component 36 (FIG. 1) may determine that a mirroredpreview image 804 should be displayed to the user. Once the image istaken, the first display 14 may present the captured image 806 withoutmirroring to the user.

Referring now to FIG. 9, illustrated are example preview images whenusing a front facing camera resource as a rear facing camera resourceand a captured image using computer device 102. For example, a user maybe using a front facing camera resource 20 near the first display 14 tocapture object 902. However, the user may have rotated the first display14 so that the front facing camera resource 20 is now being used as arear facing camera resource. As such, the preview image 904 displayed onthe second display 16 of the object 902 prior to image capture may notbe mirrored since the image preview component 36 (FIG. 1) may determinebased on the camera role received that the front facing camera resource20 is being used a rear facing camera resource. For example, the camerarole may indicate that the front facing camera resource 20 may now beacting in a rear facing camera role 39. In addition, the camera role mayindicate that the front facing camera resource 20 may now be acting in afront facing camera role 38.

In an implementation, a preview image 908 may also be displayed on thefirst display 14. The preview image 908 displayed on the first display14 may be mirrored. For example, if a user is taking a picture of afriend, the preview image 904 displayed on the second display 16 may notbe mirrored as discussed above. However, if the first display 14 is alsopresenting preview image 908 towards the friend, the preview image 908may be mirrored. As such, both a mirrored preview image 908 and anon-mirrored preview image 904 may be presented on computer device 102at the same time.

When the image is captured, the captured image 906 presented on thesecond display 16 may be displayed without mirroring.

Referring now to FIG. 10, illustrated is an example method 1000 that maybe used by computer device 102 (FIG. 6) for dynamically controllingmirroring of a preview image 18 (FIG. 6). An image preview component 36(FIG. 6) may determine whether the preview image 18 may be a mirroredpreview image 17 (FIG. 6) or a non-mirrored preview image 19 (FIG. 6).

At 1002, method 1000 may include receiving physical location informationof a selected camera resource on the computer device. For example, oneor more applications 10 (FIG. 6) may select one or more camera resources20 (FIG. 6) to capture a scene and/or perform video processing. Forexample, one application 10 may be a video call application, such as butnot limited to a SKYPE′ application, and may want to use a cameraresource 20 to capture images for a video call, while anotherapplication 10 may be a photo application and may want to use a cameraresource 20 to capture an image for a photograph.

The physical location information 30 (FIG. 6) of the selected cameraresource 20 (FIG. 6) may correspond to a static orientation 32 (FIG. 6)of the selected camera resource 20 on the computer device 102 (FIG. 6).For example, the static orientation 32 may indicate whether the selectedcamera resource 20 is physically located on a side of the computerdevice 102 that includes a first display 14 (FIG. 6) and/or a seconddisplay 16 (FIG. 6) or on a rear surface of the computer device 102. Adata repository on computer device 102 may, for example, contain thephysical location information 30 of the camera resources 20 on computerdevice 102.

At 1004, method 1000 may include determining a dynamic orientation ofthe selected camera resource based on sensor information for theselected camera resource. A dynamic orientation determiner component 46(FIG. 6) may apply one or more rules to determine the dynamicorientation 34 (FIG. 6) of a selected camera resource 20. For example,the dynamic orientation 34 of the selected camera resource 20 may befront facing and/or rear facing.

The dynamic orientation determiner component 46 may receive sensorinformation 40 from one or more sensors 25 on computer device 102 to aidin determining the dynamic orientation 34 of the selected cameraresource 20. Sensor information 40 may include a connector status 42indicating a relative angular distance between the first display 14 andthe second display 16.

Sensor information 40 may also include a sensor orientation 44 thatindicates an orientation of the first display 14 and/or the seconddisplay 16. For example, the sensor orientation 44 may indicate ageneral orientation of the first display 14 and/or the second display 16(e.g., a direction the first display 14 and/or the second display 16 arefacing).

The sensor orientation 44 may also indicate a relative position of thefirst display 14 and/or the second display 16. For example, the sensororientation may indicate a measure of how the first display 14 and/orthe second display 16 are relatively angularly positioned. As such, thesensor orientation 44 may be used to indicate whether the computerdevice 102 is opened flat with the first display 14 and/or the seconddisplay 16 facing the same direction, and hence the camera resources 20facing in the same direction), or if the computer device 102 is closedor partially closed with first display 14 and/or the second display 16and the corresponding camera resources 20 facing in differentdirections.

The dynamic orientation determiner component 46 may include a connectorthreshold 48 that may be used in determining when to update the dynamicorientation 34 of the selected camera resource 20. For example, when thesensor information 40 indicates that the connector 24 exceeds aconnector threshold 48, the dynamic orientation 34 may be rear facing.Another example may include when the sensor information 40 indicatesthat the connector 24 is below a connector threshold 48, the dynamicorientation 34 may be front facing.

At 1006, method 1000 may include determining a camera role of theselected camera resource based on the dynamic orientation and the staticorientation of the selected camera resource, wherein the camera rolecomprises a front facing camera role or a rear facing camera role. Thecamera role determiner component 35 (FIG. 6) may receive the staticorientation 32 and/or the dynamic orientation 34 of the selected cameraresource 20 and may determine a camera role for the selected cameraresource 20. A camera role may include a forward facing camera role 38and/or a rear facing camera role 39. For example, a forward facingcamera role 38 may be associated with a forward facing camera resource,e.g., facing toward a front side of the computer device 102, which isalso generally associated with facing a user of the computer device 102.In contrast, the rear facing camera role 39 may be associated with arear facing camera.

When the dynamic orientation 34 of the selected camera resource 20 isdifferent from the static orientation 32 of the selected camera resource20, the camera role of the selected camera resource 20 may change. Forexample, the camera role may change from a forward facing camera role 38to a rear facing camera role 39 or from a rear facing camera role 39 toa forward facing camera role 38 based on a current orientation of theselected camera resource 20.

At 1008, method 1000, may include displaying a mirrored preview imagewhen the camera role of the selected camera resource is the front facingcamera role. An image preview component 36 may receive the camera roleof the selected camera resource 20 and may determine whether the previewimage 18 should be a mirrored preview image 17. For example, the forwardfacing camera role 38 may be associated with presenting a mirroredpreview image 17 on the first display 14 and/or the second display 16.The image preview component 36 may transmit the mirrored preview image17 to a display component 56 to display the mirrored preview image 17 onthe first display 14 and/or the second display 16. For example, whenusing a forward facing camera, a user sees a mirrored preview image 17of the scene toward the front side of the device, such as when a userpreviews a selfie picture.

At 1010, method 1000 may include displaying a non-mirrored preview imagewhen the camera role of the selected camera resource is the rear facingcamera role. An image preview component 36 may receive the camera roleof the selected camera resource 20 and may determine whether the previewimage 18 should be a non-mirrored preview image 19. When the receivedcamera role is a rear facing camera role 39, the image preview component36 may determine that the preview image 18 should be a non-mirroredpreview image 19. The image preview component 36 may transmit thenon-mirrored preview image 19 to a display component 56 to display thenon-mirrored preview image 19 on the first display 14 and/or the seconddisplay 16. In other words, the non-mirrored preview image 19 is animage that matches a view of a scene as observed by a user of thedevice.

Referring now to FIG. 11, illustrated is one example implementation of amethod 1100 for using an application 10 (FIG. 6) to dynamicallycontrolling mirroring of a preview image 18 (FIG. 6) based on a dynamicorientation 34 (FIG. 6) of a selected camera resource 20 (FIG. 6) on acomputer device 102 (FIG. 6). At 1102, method 1100 may include startingan application. In an aspect, one or more applications 10 (FIG. 6) maybe selected to capture a scene and/or perform video processing. Forexample, computer device 102 may have one application 10 selected for aSkype call and another application 10 selected to capture an image of ascene.

At 1104, method 1100 may include selecting a camera resource to use withthe application. For example, the application 10 may automaticallyselect the camera resource 20 to use. Another example may include a userof computer device 102 selecting the camera resource 20 to use. Theselected camera resource 20 (FIG. 1) may be, for example, a front facingcamera resource and/or a rear facing camera resource. Whether theselected camera resource 20 is front facing and/or rear facing may bebased on a static orientation 32 (FIG. 6) of the selected cameraresource 20.

At 1106, method 1100 may include sending a request for the physicallocation information of the selected camera resource. The request mayinclude, for example, the selected camera identification (ID) 12 (FIG.6). A data repository associated with computer device 102 may includethe physical location information 30 (FIG. 6) of the selected cameraresource 20.

At 1110 and 1112, method 1100 may include retrieving the physicallocation information for the selected camera and returning the physicallocation information for the selected camera. For example, the physicallocation information 30 for the selected camera resource 20 may bereturned to application 10. The physical location information 30 mayindicate whether the selected camera resource 20 is located on the frontof the computer device 102 (e.g., on a side of the computer device 102that includes the screen/displays) or whether the selected cameraresource 20 is located on the rear of the computer device 102 (e.g., onthe side of computer device 102 without any displays).

At 1114, method 1100 may include determining whether the selected cameraresource is oriented towards the front. For example, a dynamicorientation determiner component 46 (FIG. 6) may determine a dynamicorientation 34 (FIG. 6) of the selected camera resource 20. The dynamicorientation 34 may indicate whether the selected camera resource 20 isfront facing and/or rear facing.

At 1132, method 1100 may include a dynamic detection of the cameraresource orientation. For example, the dynamic orientation determinercomponent 46 may receive the physical location information 30 of theselected camera resource 20. In addition, the dynamic orientationdeterminer component 46 may receive sensor information 40 relating tothe selected camera resource 20. The sensor information 40 may bereceived from one or more sensors 25 on computer device 102.

At 1134 and 1136, method 1100 may include receiving the connector sensorcurrent status and the sensor orientation current status. For example,the dynamic orientation determiner component 46 may receive theconnector status 42 from one or more sensors 25 (FIG. 1) that indicatesa relative angular distance between the first display 14 and the seconddisplay 16.

In addition, the dynamic orientation determiner component 46 may receivethe sensor orientation 44 from one or more sensors 25 on computer device102. The sensor orientation 44 may also indicate a relative position ofthe first display 14 and/or the second display 16. For example, thesensor orientation may indicate a measure of how the first display 14and/or the second display 16 are relatively angularly positioned. Assuch, the sensor orientation 44 may be used to indicate whether thecomputer device 102 is opened flat with the first display 14 and/or thesecond display 16 facing the same direction, and hence the cameraresources 20 facing in the same direction), or if the computer device102 is closed or partially closed with first display 14 and/or thesecond display 16 and the corresponding camera resources 20 facing indifferent directions. The dynamic orientation 34 of the selected cameraresource 20 may be dynamically updated as the orientation of theselected camera resource 20 changes.

At 1128, method 1100 may include determining whether an additionaldisplay panel may be available and selected to be used. For example,application 10 may determine whether an additional panel may beavailable to be used. In addition, application 10 may allow a user toselect whether the camera frames may be presented on the first display14, or the second display 16, or on both the first display 14 and thesecond display 16.

At 1116, method 1100 may include mirroring the preview image displayedwhen the selected camera resource is oriented as a front facing cameraresource. For example, when the dynamic orientation 34 and/or the staticorientation 32 indicates that the selected camera resource 20 may beforward facing, image preview component 36 may determine that a mirroredpreview image 17 (FIG. 6) should be presented on a first display 14and/or a second display 16 of computer device 102.

At 1118, method 1100 may include presenting the preview image 18 on adisplay. When the dynamic orientation 34 and/or the static orientation32 indicates that the selected camera resource 20 may be rear facing,the image preview component 36 may determine that a non-mirrored previewimage 19 may be displayed on the first display 14 and/or the seconddisplay 16. However, when the selected camera resource 20 is frontfacing, a mirrored preview image 17 may be presented on the firstdisplay 14 and/or the second display 16.

At 1140, method 1100 may optionally include a dynamic detection of amicrophone orientation for a selected microphone for use when the imageor video is captured. Audio selection component 54 may select one ormore microphones 22 (FIG. 6) for use with the image capture and/or videoprocessing. Audio selection component 54 may select a particularmicrophone for use based on, for example, the sensor orientation 44information of the computer device 102. For example, if a user is takinga video, audio selection component 54 may select the microphone 22 onthe first device portion 26 or second device portion 28 facing thesubject of the video. In addition, if a user is participating in a Skypecall, audio selection component 54 may select a plurality of microphones22 to use with the call.

At 1122, method 1100 may receive the physical location information for aselected microphone. For example, audio selection component 54 mayreceive one or more physical locations of the selected microphones 22 oncomputer device 102. For example, computer device 102 may have a frontfacing microphone and/or a rear facing microphone. The selectedmicrophones 22 may change as the image capture and/or image processingchanges.

At 1120 and 1124, method 1100 may include taking an image and/or video.For example, the selected camera resource 20 may be used by application10 to capture an image and/or video of a scene. In addition, application10 may receive the captured image and/or video for further processingand/or display.

At 1118 and 1126, method 1100 may include transmitting the capturedimage for display and displaying the captured image. For example,application 10 may transmit the captured image for display and thecaptured image may be displayed on first display 14 and/or seconddisplay 16.

Referring now to FIG. 12, an example method 1200 may be used by computerdevice 102 (FIG. 6) to dynamically select one or more audio resources oncomputer device 102. For example, computer device 102 may include aplurality of microphones 41, 43, 45, and 47 (FIG. 1A) and/or speakers49, 51, 53, and 55 (FIG. 1A) that may be used to respectively recordand/or play audio.

At 1202, method 1200 may include receiving a request to use at least onemicrophone on a computer device. For example, audio selection component54 (FIG. 6) may receive a request from one or more applications 10 (FIG.6) to use one or more microphones 41, 43, 45, and 47 and/or speakers 49,51, 53, and 55 on computer device 102. The one or more applications 10may define a use of the microphones and/or speakers. For example, theone or more applications 10 may use the microphones and/or speakers tofacilitate a call, such as a video call or a telephone call. Inaddition, the one or more applications may use the microphones and/orspeakers to respectively record and/or play audio.

At 1204, method 1200 may include receiving a dynamic orientation of thefirst device portion and the second device portion based on sensorinformation. The sensor information may include a connector status of aconnector that rotatably connects the first device portion and thesecond device portion and an angular distance between the first deviceportion and the second device portion. The connector status and theangular distance may be compared to a connector threshold to determine ageneral orientation and a relative position of the first device portionand the second device portion. As such, the dynamic orientation mayidentify a general orientation and a relative position of the firstdevice portion and the second device portion. For example, audioselection component 54 may receive the dynamic orientation 34 of thefirst device portion 26 and the second device portion 28.

At 1206, method 1200 may include selecting at least one microphone foruse based on the physical location information of the at least onemicrophone and the dynamic orientation of the first device portion andthe second device portion. Audio selection component 54 may select oneor more microphones 70 (FIG. 7) to use to capture audio based on themicrophone physical location 68 (FIG. 7) and the dynamic orientation 34information received. In addition, audio selection component 54 may alsoselect one or more microphones 70 for use based on the one or moreapplications 10 requesting to use the microphones. One example mayinclude a user recording a video using a camera resource 20 on a seconddevice portion 28 facing away from the user. Audio selection component54 may use the dynamic orientation information 34 to determine that thesecond device portion 28 is facing away from the user and may use themicrophone physical location 68 to select a microphone on the seconddevice portion 28. The user may also want to make a Skype call using thefirst display 14. Audio selection component 54 may select one or moremicrophones and/or speakers on the first device portion 26 to use withthe Skype call.

At 1208, method 1200 may optionally include selecting at least onespeaker for use based on the physical location information of the atleast one speaker and the dynamic orientation of the first deviceportion and the second device portion. Audio selection component 54 mayalso select one or more speakers 71 (FIG. 7) to use to play audio basedon the speaker physical location 69 (FIG. 7) and the dynamic orientation34 of the first device portion 26 and the second device portion 28.

Another example use case may include a user using the computer device102 to talk on the phone. The user may have the first device portion 26facing the user, while the second display device portion 28 faces awayfrom the user. As such, audio selection component 54 may select at leastone microphone and speaker on the first device portion 26 facing theuser (e.g., microphone 41 and speaker 49) to be active so that the usercan carry on the telephone conversation, while the microphones 45, 47and speakers 53, 55 on the second device portion 28 facing away from theuser may not be used, or may be selected for echo cancellation.

Another use case may include receiving information indicating that twousers may be on a Skype call with one user facing a first display 14 andthe other user facing the second display 16. For example, audioselection component 54 may select microphones and speakers on both thefirst device portion 26 with the first display 14 and the second deviceportion 28 with the second display 16 to respectively record or emitsound for both users of the same device on the Skype call.

At 1210, method 1200 may optionally include selecting another microphoneand/or speaker for use when the dynamic orientation of the first deviceportion and/or the second device portion changes. Audio selectioncomponent 54 may select a different speaker and/or microphone for usewhen the dynamic orientation of the first device portion 26 and/or thesecond device portion 28 changes. For example, if a user is usingcomputer device 102 to talk on the telephone with the first deviceportion 26 facing the user, audio selection component 54 may selectmicrophones 41, 43 and speakers 49, 51 for use with the call. If theuser rotates the computer device 102 so that the first device portion 26is facing away from the user and the second device portion 28 is nowfacing towards the user, audio selection component 54 may selectmicrophones 45, 47 and speakers 53, 55 to use with the call anddeactivate microphones 41, 43 and speakers 49, 51.

Also, in some cases, the method 1200 may include dynamically changingthe at least one microphone selected for use when a differentapplication requests use of the at least one microphone.

Thus, in this implementation, a computer device includes a first deviceportion, a second device portion, a memory to store data andinstructions, a processor in communication with the memory, and anoperating system in communication with the memory and the processor.Further, in this case, the operating system is operable to receive arequest to use at least one microphone on the computer device, receive adynamic orientation of the first device portion and the second deviceportion based on sensor information, and select at least one microphonefor use based on the physical location information of the at least onemicrophone and the dynamic orientation of the first device portion andthe second device portion. The physical location information correspondsto a static orientation of the at least one microphone on the computerdevice.

In some cases, the sensor information includes a connector status of aconnector that rotatably connects the first device portion and thesecond device portion and an angular distance between the first deviceportion and the second device portion. In some additional cases, theoperating system is further operable to determine the dynamicorientation of the first portion and the second device portion bycomparing the connector status and the angular distance to a connectorthreshold to determine a general orientation and a relative position ofthe first device portion and the second device portion.

In some cases, the operating system is further operable to selectanother microphone for use when the dynamic orientation of the firstdevice portion or the second device portion changes.

Also, in some cases, the request is from at least one applicationexecuting on the computer device. In such instances, the operatingsystem may be further operable to dynamically change the at least onemicrophone selected for use when a different application requests use ofthe at least one microphone.

In other cases, the operating system is further operable to select atleast one speaker to use based on the physical location information ofthe at least one speaker and the dynamic orientation of the first deviceportion and the second device portion, wherein the physical locationinformation corresponds to a static orientation of the at least onespeaker on the computer device. In some additional cases, the operatingsystem is further operable to dynamically change the at least onespeaker selected for use when the dynamic orientation of the firstdevice portion or the second device portion changes.

In some cases, the processor is further operable to use the at least onemicrophone to record audio information.

Referring now to FIG. 13, illustrated is an example computer device 102in accordance with an implementation, including additional componentdetails as compared to FIG. 1. In one example, computer device 102 mayinclude processor 57 for carrying out processing functions associatedwith one or more of components and functions described herein. Processor57 can include a single or multiple set of processors or multi-coreprocessors. Moreover, processor 57 can be implemented as an integratedprocessing system and/or a distributed processing system.

Computer device 102 may further include memory 59, such as for storinglocal versions of applications being executed by processor 57. Memory 59can include a type of memory usable by a computer, such as random accessmemory (RAM), read only memory (ROM), tapes, magnetic discs, opticaldiscs, volatile memory, non-volatile memory, and any combinationthereof. Additionally, processor 57 and memory 59 may include andexecute operating system 110 (FIG. 1).

Further, computer device 102 may include a communications component 76that provides for establishing and maintaining communications with oneor more parties utilizing hardware, software, and services as describedherein. Communications component 76 may carry communications betweencomponents on computer device 102, as well as between computer device102 and external devices, such as devices located across acommunications network and/or devices serially or locally connected tocomputer device 102. For example, communications component 76 mayinclude one or more buses, and may further include transmit chaincomponents and receive chain components associated with a transmitterand receiver, respectively, operable for interfacing with externaldevices.

Additionally, computer device 102 may include a data store 78, which canbe any suitable combination of hardware and/or software, that providesfor mass storage of information, databases, and programs employed inconnection with implementations described herein. For example, datastore 78 may be a data repository for application 10 (FIG. 6), camerarole determiner component 35 (FIG. 6), dynamic orientation determinercomponent 46 (FIG. 6), image preview component 50 (FIG. 6), imagecapture component 52 (FIG. 6), audio selection component 54 and/ordisplay component 56 (FIG. 1).

Computer device 102 may also include a user interface component 80operable to receive inputs from a user of computer device 102 andfurther operable to generate outputs for presentation to the user. Userinterface component 80 may include one or more input devices, includingbut not limited to a keyboard, a number pad, a mouse, a touch-sensitivedisplay, a navigation key, a function key, a microphone, a voicerecognition component, any other mechanism capable of receiving an inputfrom a user, or any combination thereof. Further, user interfacecomponent 80 may include one or more output devices, including but notlimited to a display, a speaker, a haptic feedback mechanism, a printer,any other mechanism capable of presenting an output to a user, or anycombination thereof.

In an implementation, user interface component 80 may transmit and/orreceive messages corresponding to the operation of application 10,camera role determiner component 35, dynamic orientation determinercomponent 46, image preview component 50, image capture component 52,audio selection component 54, and/or display component 56. In addition,processor 57 executes application 10, camera role determiner component35, dynamic orientation determiner component 46, image preview component50, image capture component 52, audio selection component 54, and/ordisplay component 56 and memory 59 or data store 78 may store them.

As used in this application, the terms “component,” “system” and thelike are intended to include a computer-related entity, such as but notlimited to hardware, firmware, a combination of hardware and software,software, or software in execution. For example, a component may be, butis not limited to being, a process running on a processor, a processor,an object, an executable, a thread of execution, a program, and/or acomputer. By way of illustration, both an application running on acomputer device and the computer device can be a component. One or morecomponents can reside within a process and/or thread of execution and acomponent may be localized on one computer and/or distributed betweentwo or more computers. In addition, these components can execute fromvarious computer readable media having various data structures storedthereon. The components may communicate by way of local and/or remoteprocesses such as in accordance with a signal having one or more datapackets, such as data from one component interacting with anothercomponent in a local system, distributed system, and/or across a networksuch as the Internet with other systems by way of the signal.

Moreover, the term “or” is intended to mean an inclusive “or” ratherthan an exclusive “or.” That is, unless specified otherwise, or clearfrom the context, the phrase “X employs A or B” is intended to mean anyof the natural inclusive permutations. That is, the phrase “X employs Aor B” is satisfied by any of the following instances: X employs A; Xemploys B; or X employs both A and B. In addition, the articles “a” and“an” as used in this application and the appended claims shouldgenerally be construed to mean “one or more” unless specified otherwiseor clear from the context to be directed to a singular form.

Various implementations or features may have been presented in terms ofsystems that may include a number of devices, components, modules, andthe like. It is to be understood and appreciated that the varioussystems may include additional devices, components, modules, etc. and/ormay not include all of the devices, components, modules etc. discussedin connection with the figures. A combination of these approaches mayalso be used.

The various illustrative logics, logical blocks, and actions of methodsdescribed in connection with the embodiments disclosed herein may beimplemented or performed with a specially-programmed one of a generalpurpose processor, a digital signal processor (DSP), an applicationspecific integrated circuit (ASIC), a field programmable gate array(FPGA) or other programmable logic device, discrete gate or transistorlogic, discrete hardware components, or any combination thereof designedto perform the functions described herein. A general-purpose processormay be a microprocessor, but, in the alternative, the processor may beany conventional processor, controller, microcontroller, or statemachine. A processor may also be implemented as a combination ofcomputer devices, e.g., a combination of a DSP and a microprocessor, aplurality of microprocessors, one or more microprocessors in conjunctionwith a DSP core, or any other such configuration. Additionally, at leastone processor may comprise one or more components operable to performone or more of the steps and/or actions described above.

Further, the steps and/or actions of a method or algorithm described inconnection with the implementations disclosed herein may be embodieddirectly in hardware, in a software module executed by a processor, orin a combination of the two. A software module may reside in RAM memory,flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a harddisk, a removable disk, a CD-ROM, or any other form of storage mediumknown in the art. An exemplary storage medium may be coupled to theprocessor, such that the processor can read information from, and writeinformation to, the storage medium. In the alternative, the storagemedium may be integral to the processor. Further, in someimplementations, the processor and the storage medium may reside in anASIC. Additionally, the ASIC may reside in a user terminal. In thealternative, the processor and the storage medium may reside as discretecomponents in a user terminal. Additionally, in some implementations,the steps and/or actions of a method or algorithm may reside as one orany combination or set of codes and/or instructions on a machinereadable medium and/or computer readable medium, which may beincorporated into a computer program product.

In one or more implementations, the functions described may beimplemented in hardware, software, firmware, or any combination thereof.If implemented in software, the functions may be stored or transmittedas one or more instructions or code on a computer-readable medium.Computer-readable media includes both computer storage media andcommunication media including any medium that facilitates transfer of acomputer program from one place to another. A storage medium may be anyavailable media that can be accessed by a computer. By way of example,and not limitation, such computer-readable media can comprise RAM, ROM,EEPROM, CD-ROM or other optical disk storage, magnetic disk storage orother magnetic storage devices, or any other medium that can be used tostore desired program code in the form of instructions or datastructures and that can be accessed by a computer. Disk and disc, asused herein, includes compact disc (CD), laser disc, optical disc,digital versatile disc (DVD), floppy disk and Blu-ray disc where disksusually reproduce data magnetically, while discs usually reproduce dataoptically with lasers. Combinations of the above should also be includedwithin the scope of computer-readable media.

While implementations of the present disclosure have been described inconnection with examples thereof, it will be understood by those skilledin the art that variations and modifications of the implementationsdescribed above may be made without departing from the scope hereof.Other implementations will be apparent to those skilled in the art froma consideration of the specification or from a practice in accordancewith examples disclosed herein.

What is claimed is:
 1. A computer device, comprising: a first deviceportion; a second device portion; a plurality of microphones, includingat least a first microphone associated with the first device portion andat least a second microphone associated with the second device portion;a connector that rotatably connects the first device portion and thesecond device a memory to store data and instructions; a processor incommunication with the memory; and an operating system in communicationwith the memory and the processor, wherein the operating system isoperable to: receive a request from at least one application executingon the computer device to use at least one microphone on the computerdevice, wherein the at least one application defines an application useof the at least one microphone; receive a dynamic orientation of thefirst device portion and the second device portion based on sensorinformation, wherein the sensor information includes a connector statusof the connector and an angular distance between the first deviceportion and the second device portion; and select a set of one or moremicrophones from the plurality of microphones for use by the at leastone application based on a combination of the application use, physicallocation information of the set of one or more microphones, the dynamicorientation of the first device portion and the second device portion,and an orientation of a camera resource selected for use with the atleast one application, wherein the physical location informationcorresponds to a static orientation of the set of one or moremicrophones on the computer device.
 2. The computer device of claim 1,wherein the operating system is further operable to determine thedynamic orientation of the first device portion and the second deviceportion by comparing the connector status and the angular distance to aconnector threshold to determine a general orientation and a relativeposition of the first device portion and the second device portion. 3.The computer device of claim 1, wherein the operating system is furtheroperable to select another microphone for use when the dynamicorientation of the first device portion or the second device portionchanges.
 4. The computer device of claim 1, wherein the operating systemis further operable to: dynamically change the at least one microphoneselected for use when a different application requests use of the atleast one microphone.
 5. The computer device of claim 1, wherein theoperating system is further operable to select at least one speaker touse based on the physical location information of the at least onespeaker and the dynamic orientation of the first device portion and thesecond device portion, wherein the physical location informationcorresponds to a static orientation of the at least one speaker on thecomputer device.
 6. The computer device of claim 5, wherein theoperating system is further operable to dynamically change the at leastone speaker selected for use when the dynamic orientation of the firstdevice portion or the second device portion changes.
 7. The computerdevice of claim 1, wherein the process is further operable to use the atleast one microphone to record audio information.
 8. The computer deviceof claim 1, wherein the application use includes using the first deviceportion and the second device portion, and wherein the set of one ormore microphones includes the first microphone associated with the firstdevice portion and the second microphone associated with the seconddevice portion.
 9. The computer device of claim 1, wherein the set ofone or more microphones are on a same device portion as the cameraresource selected for use with the at least one application.
 10. Amethod for dynamically selecting an audio resource, the methodcomprising: receiving, by an operating system on a computer device, arequest from at least one application executing on the computer deviceto use at least one microphone on the computer device, wherein the atleast one application defines an application use of the at least onemicrophone; determining, by the operating system, a dynamic orientationof a first device portion and a second device portion of the computerdevice based on sensor information, wherein the sensor informationincludes a connector status of a connector that rotatably connects thefirst device portion and the second device portion and an angulardistance between the first device portion, and the second deviceportion; and selecting a set of one or more microphones from a pluralityof microphones for use by the at least one application based on acombination of the application use, physical location information of theset of one or more microphones, the dynamic orientation of the firstdevice portion and the second device portion, and an orientation of acamera resource selected for use with the at least one application,wherein the physical location information corresponds to a staticorientation of the set of one or more microphones on the computer deviceand the plurality of microphones includes at least a first microphoneassociated with the first device portion and at least a secondmicrophone associated with the second device portion.
 11. The method ofclaim 10, wherein the dynamic orientation of the first device portionand the second device portion is determined by comparing the connectorstatus and the angular distance to a connector threshold to determine ageneral orientation and a relative position of the first device portionand the second device portion.
 12. The method of claim 10, furthercomprising: selecting another microphone for use when the dynamicorientation of the first device portion or the second device portionchanges.
 13. The method of claim 10, further comprising: dynamicallychanging the at least one microphone selected for use when a differentapplication requests use of the at least one microphone.
 14. The methodof claim 10, further comprising: selecting at least one speaker to usebased on the physical location information of the at least one speakerand the dynamic orientation of the first device portion and the seconddevice portion, wherein the physical location information corresponds toa static orientation of the at least one speaker on the computer device.15. The method of claim 14, further comprising: dynamically changing theat least one speaker selected for use when the dynamic orientation ofthe first device portion or the second device portion changes.
 16. Themethod of claim 10, wherein the at least one microphone is used torecord audio information.
 17. The method of claim 10, wherein theapplication use includes using the first device portion and the seconddevice portion, and wherein the set of one or more microphones includesthe first microphone associated with the first device portion and thesecond microphone associated with the second device portion.
 18. Themethod of claim 10, further comprising: receiving the request from twoapplications executing on the computer device; selecting the firstmicrophone for use with a first application of the two applications forthe application use based on the physical location information of thefirst microphone and the dynamic orientation of the first device portionand the second device portion; and selecting the second microphone foruse with a second application of the two applications for theapplication use based on the physical location information of the secondmicrophone and the dynamic orientation of the first device portion andthe second device portion.
 19. A non-transitory computer-readable mediumstoring instructions executable by a computer device, comprising: atleast one instruction for causing the computer device to receive arequest from at least one application executing on the computer deviceto use at least one microphone on the computer device, wherein the atleast one application defines an application use of the at least onemicrophone; at least one instruction for causing the computer device todetermine a dynamic orientation of a first device portion and a seconddevice portion of the computer device based on sensor information; andat least one instruction for causing the computer device to select a setof one or more microphones from a plurality of microphones for use bythe at least one application based on a combination of the applicationuse, physical location information of the set of one or moremicrophones, the dynamic orientation of the first device portion and thesecond device portion, and an orientation of a camera resource selectedfor use with, the at least one application, wherein the physicallocation information corresponds to a static orientation of the set ofone or more microphones on the computer device and the plurality ofmicrophones includes at least a first microphone associated with thefirst device portion and at least a second microphone associated withthe second device portion.